package com.gopay.bis.common.util;

import org.apache.axis.utils.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;

import com.gopay.common.cipher.utils.LoggerMaskUtils;
import com.gopay.common.constants.bank.BankConstants;
import com.gopay.common.constants.bank.BisBankBusinessProd;
import com.gopay.common.domain.bank.BaseMessage;
import com.gopay.common.domain.bank.BcdlMessage;
import com.gopay.common.domain.bank.abc.ebank.AbcB2bMessage;
import com.gopay.common.domain.bank.abc.ebank.AbcB2cMessage;
import com.gopay.common.domain.bank.bcdl.BcdlPacket;
import com.gopay.common.domain.bank.bobj.ebank.BobjB2cMessage;
import com.gopay.common.domain.bank.boc.ebank.BocB2bMessage;
import com.gopay.common.domain.bank.boc.ebank.BocB2cMessage;
import com.gopay.common.domain.bank.bocom.ebank.pay.BocomB2cMessage;
import com.gopay.common.domain.bank.bocom.ebank.pay.b2b.req.BocomB2bReq;
import com.gopay.common.domain.bank.bos.ebank.BosB2cMessage;
import com.gopay.common.domain.bank.ccb.ebank.pay.CcbB2bMessage;
import com.gopay.common.domain.bank.ccb.ebank.pay.CcbB2cMessage;
import com.gopay.common.domain.bank.ceb.ebank.CebB2bMessage;
import com.gopay.common.domain.bank.ceb.ebank.CebB2cMessage;
import com.gopay.common.domain.bank.ceb.expay.CebExPayMessage;
import com.gopay.common.domain.bank.ceb.expay.res.CebExpaySuitNSOQRes;
import com.gopay.common.domain.bank.ceb.expay.res.CebExpaySuitQSCRes;
import com.gopay.common.domain.bank.ceb.expay.res.CebExpaySuitQUSRes;
import com.gopay.common.domain.bank.cib.ebank.CibMessage;
import com.gopay.common.domain.bank.citic.ebank.pay.CiticB2bMessage;
import com.gopay.common.domain.bank.citic.ebank.pay.CiticB2cMessage;
import com.gopay.common.domain.bank.citic.ebank.query.res.data.CiticB2bStreamDataRes;
import com.gopay.common.domain.bank.citic.ebank.query.res.data.CiticB2cStreamDataRes;
import com.gopay.common.domain.bank.citic.expay.CiticExpay;
import com.gopay.common.domain.bank.citic.expay.CiticExpayResMessage;
import com.gopay.common.domain.bank.cmb.bcdl.CmbBcdlMessage;
import com.gopay.common.domain.bank.cmb.ebank.pay.CmbB2bMessage;
import com.gopay.common.domain.bank.cmb.ebank.pay.CmbB2bPayResult;
import com.gopay.common.domain.bank.cmb.ebank.pay.CmbB2cMessage;
import com.gopay.common.domain.bank.cmb.ebank.query.CmbB2bQueryReq;
import com.gopay.common.domain.bank.cmb.ebank.query.CmbB2bQueryRes;
import com.gopay.common.domain.bank.cmb.ebank.query.CmbB2cResMessage;
import com.gopay.common.domain.bank.cmbc.ebank.CmbcMessage;
import com.gopay.common.domain.bank.cmbc.expay.CmbcExPayMessage;
import com.gopay.common.domain.bank.cuccpay.ebank.CuccPayMessage;
import com.gopay.common.domain.bank.gdb.ebank.GdbB2cMessage;
import com.gopay.common.domain.bank.hnapay.ebank.HnaPayMessage;
import com.gopay.common.domain.bank.hnapay.ebank.query.HnaPayMessageQuery;
import com.gopay.common.domain.bank.hxbc.ebank.geturl.res.HXEB2CResGetUrl;
import com.gopay.common.domain.bank.hxbc.ebank.pay.req.HXEB2CReqPay;
import com.gopay.common.domain.bank.hxbc.ebank.query.req.HXEB2CReqQuery;
import com.gopay.common.domain.bank.hxbc.ebank.query.res.HXEB2CResQuery;
import com.gopay.common.domain.bank.icbc.bcdl.pay.IcbcMessageData;
import com.gopay.common.domain.bank.icbc.bcdl.pay.IcbcPacketMessage;
import com.gopay.common.domain.bank.icbc.ebank.pay.IcbcB2bMessage;
import com.gopay.common.domain.bank.icbc.ebank.pay.IcbcB2cMessage;
import com.gopay.common.domain.bank.icbc.ebank.query.res.CmsQueryB2BRes;
import com.gopay.common.domain.bank.icbc.ebank.query.res.CmsQueryB2CRes;
import com.gopay.common.domain.bank.icbc.expay.pay.req.IcbcExpayCmsReq;
import com.gopay.common.domain.bank.icbc.expay.pay.res.IcbcExpayCmsRes;
import com.gopay.common.domain.bank.icbc.expay.prepay.req.IcbcPreExpayCmsReq;
import com.gopay.common.domain.bank.icbc.expay.prepay.res.IcbcPreExpayCmsRes;
import com.gopay.common.domain.bank.icbc.expay.query.req.IcbcQueryExpayCmsReq;
import com.gopay.common.domain.bank.ipay.ebank.IpayMessage;
import com.gopay.common.domain.bank.ipay.expay.IpayExPayBaseMessage;
import com.gopay.common.domain.bank.khpay.ebank.KhPayMessage;
import com.gopay.common.domain.bank.kuaiqian.ebank.KuaiQianMessage;
import com.gopay.common.domain.bank.kuaiqian.ebank.KuaiQianQueryMessage;
import com.gopay.common.domain.bank.kuaiqian.ebank.KuaiQianQueryResultMessage;
import com.gopay.common.domain.bank.kuaiqian.ebank.KuaiQianResultMessage;
import com.gopay.common.domain.bank.nbcb.ebank.NbcbB2cMessage;
import com.gopay.common.domain.bank.nbcb.ebank.query.req.NbcbB2cReqNetPay;
import com.gopay.common.domain.bank.nbcb.ebank.query.res.NbcbB2cResNetPay;
import com.gopay.common.domain.bank.njcb.ebank.NjcbB2cMessage;
import com.gopay.common.domain.bank.njcb.ebank.query.request.NjcbeBankDataReq;
import com.gopay.common.domain.bank.njcb.ebank.query.response.NjcbeBankDataRep;
import com.gopay.common.domain.bank.nucc.common.base.NuccBaseMessage;
import com.gopay.common.domain.bank.nucc.expay.NuccExpayBaseMessage;
import com.gopay.common.domain.bank.nucc.expay.cert.res.NuccExpayCertRes;
import com.gopay.common.domain.bank.nucc.expay.pay.end.NuccExpaymentEndRes;
import com.gopay.common.domain.bank.nucc.expay.pay.res.NuccExpaymentRes;
import com.gopay.common.domain.bank.nucc.expay.query.res.NuccExpayQueryRes;
import com.gopay.common.domain.bank.nucc.expay.refund.end.NuccExpayRefundEndRes;
import com.gopay.common.domain.bank.nucc.expay.refund.res.NuccExpayRefundRes;
import com.gopay.common.domain.bank.nucc.expay.rescind.res.NuccExpayRescindRes;
import com.gopay.common.domain.bank.pab.ebank.PabB2bMessage;
import com.gopay.common.domain.bank.pab.ebank.PabB2cMessage;
import com.gopay.common.domain.bank.pab.ebank.PabOrderMessageRes;
import com.gopay.common.domain.bank.pab.ebank.PabQueryOrdersMessageRes;
import com.gopay.common.domain.bank.pab.expay.PabExPayMessage;
import com.gopay.common.domain.bank.payease.ebank.PayEaseMessage;
import com.gopay.common.domain.bank.psbc.ebank.PsbcB2bMessage;
import com.gopay.common.domain.bank.psbc.ebank.PsbcB2cMessage;
import com.gopay.common.domain.bank.psbc.ebank.PsbcQueryMessage;
import com.gopay.common.domain.bank.spdb.adpay.SpdbAdPayMessage;
import com.gopay.common.domain.bank.spdb.adpay.req.SinCutQueryReq;
import com.gopay.common.domain.bank.spdb.adpay.res.SinCutQueryRes;
import com.gopay.common.domain.bank.spdb.ebank.SpdbMessage;
import com.gopay.common.domain.bank.spdb.expay.SpdbMessageExPay;
import com.gopay.common.domain.bank.tbank.ebank.pay.TBankMessage;
import com.gopay.common.domain.bank.tbank.ebank.query.req.TBankOrderReq;
import com.gopay.common.domain.bank.tbank.ebank.query.res.TBankOrderRes;
import com.gopay.common.domain.bank.tccb.ebank.TccbB2bMessage;
import com.gopay.common.domain.bank.tccb.ebank.TccbB2cMessage;
import com.gopay.common.domain.bank.umpay.ebank.UmPayMessage;
import com.gopay.common.domain.bank.umpay.mtpay.UmPayMtPayMessage;
import com.gopay.common.domain.bank.unionpay.ebank.UnionPayMessage;
import com.gopay.common.domain.bank.unionpay.expay.UnionPayAdPayMessage;
import com.gopay.common.domain.bank.wechat.micro.req.MicroPayReqMsg;
import com.gopay.common.domain.bank.wechat.micro.req.MicroQueryReqMsg;
import com.gopay.common.domain.bank.wechat.micro.req.MicroRefundQueryReqMsg;
import com.gopay.common.domain.bank.wechat.micro.req.MicroRefundReqMsg;
import com.gopay.common.domain.bank.wechat.micro.req.MicroReverseReqMsg;
import com.gopay.common.domain.bank.wechat.micro.res.MicroPayResMsg;
import com.gopay.common.domain.bank.wechat.micro.res.MicroQueryResMsg;
import com.gopay.common.domain.bank.wechat.micro.res.MicroRefundQueryResMsg;
import com.gopay.common.domain.bank.wechat.micro.res.MicroRefundResMsg;
import com.gopay.common.domain.bank.wechat.micro.res.MicroReverseResMsg;
import com.gopay.common.domain.bank.wechat.scan.req.ScanOrderQueryReqMsg;
import com.gopay.common.domain.bank.wechat.scan.req.ScanPayReqMsg;
import com.gopay.common.domain.bank.wechat.scan.res.ScanPayServerNotifyMsg;
import com.gopay.common.domain.bank.wechat.sdk.req.SdkOrderQueryReqMsg;
import com.gopay.common.domain.bank.wechat.sdk.req.SdkPayReqMsg;
import com.gopay.common.domain.bank.wechat.sdk.req.SdkRefundQueryReqMsg;
import com.gopay.common.domain.bank.wechat.sdk.req.SdkRefundReqMsg;
import com.gopay.common.domain.bank.yeepay.expay.YeePayExPayMessage;
import com.gopay.common.domain.bank.yspay.ebank.YspayMessage;
import com.gopay.common.domain.bank.yspay.expay.pay.YspayAdPayMessage;

/**
 * 银行日志输出
 * 
 * BankLogUtils.java
 * 
 * @author WangHongFei
 */
public class BankLogUtils {

    private final static Logger logger = LoggerFactory.getLogger("BANK_LOG");

    /**
     * 输出B2B交易签名明文信息
     * 
     * @param baseMessage
     */
    public static void printB2BSignPlainLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+明文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            AbcB2bMessage abcMsg = (AbcB2bMessage) baseMessage;
            logger.info(bank + " b2b sign plainStr：" + ToStringBuilder.reflectionToString(abcMsg));
        } else {
            logger.info(bank + " b2b sign plainStr：" + baseMessage.getPlainMessage());
        }
    }

    /**
     * 输出B2B交易签名密文信息
     * 
     * @param baseMessage
     * @param signature
     */
    public static void printB2BSignSignatureLog(BaseMessage baseMessage, String signature) {
        // 输出格式为：银行名称+交易类型+业务类型+密文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2b sign signStr：" + signature);
    }

    /**
     * 输出B2B交易验签明文信息
     * 
     * @param baseMessage
     */
    public static void printB2BVerifyPlainLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+明文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2b verify plainStr：" + baseMessage.getPlainMessage());
    }

    /**
     * 输出B2B交易验签密文信息
     * 
     * @param baseMessage
     */
    public static void printB2BVerifySignatureLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+密文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2b verify signStr：" + baseMessage.getSignMessage());
    }

    /**
     * 输出B2B交易验签结果日志
     * 
     * @param baseMessage
     * @param result
     */
    public static void printB2BVerifyResultLog(BaseMessage baseMessage, boolean result) {
        // 输出格式为：银行名称+交易类型+业务类型+验签结果
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2b verifyResult：" + result);
    }

    /**
     * 输出B2B交易查询请求信息
     * 
     * @param baseMessage
     * @param reqData
     */
    public static void printB2BQuerySendLog(BaseMessage baseMessage, Object reqData) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2b query reqData：" + reqData);

    }

    /**
     * 输出B2B交易查询返回信息
     * 
     * @param baseMessage
     * @param resData
     */
    public static void printB2BQueryBlackLog(BaseMessage baseMessage, Object resData) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2b query resData：" + resData);

    }

    /**
     * 输出B2C交易签名明文信息
     * 
     * @param baseMessage
     */
    public static void printB2CSignPlainLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+明文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            AbcB2cMessage abcMsg = (AbcB2cMessage) baseMessage;
            logger.info(bank + " b2c sign plainStr：" + ToStringBuilder.reflectionToString(abcMsg));
        } else {
            logger.info(bank + " b2c sign plainStr：" + baseMessage.getPlainMessage());
        }
    }

    /**
     * 输出B2C交易签名密文信息
     * 
     * @param baseMessage
     * @param signature
     */
    public static void printB2CSignSignatureLog(BaseMessage baseMessage, String signature) {
        // 输出格式为：银行名称+交易类型+业务类型+密文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c sign signStr：" + signature);
    }

    /**
     * 输出快捷认证签名明文信息
     * 
     * @param baseMessage
     */
    public static void printExPayCertificationPlainLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+明文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " expay certification plainStr：" + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else {
            logger.info(bank + " expay certification plainStr：" + baseMessage.getPlainMessage());
        }
    }

    /**
     * 输出快捷认证签名密文信息
     * 
     * @param baseMessage
     * @param signature
     */
    public static void printExPayCertificationSignatureLog(BaseMessage baseMessage, Object signature) {
        // 输出格式为：银行名称+交易类型+业务类型+密文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " expay certification signStr：" + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else {
            logger.info(bank + " expay certification signStr：" + signature);
        }
    }

    /**
     * 输出快捷支付签名明文信息
     * 
     * @param baseMessage
     */
    public static void printExPayPlainLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+明文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " expay payment plainStr：" + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(bank + " expay payment plainStr：" + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else {
            logger.info(bank + " expay payment plainStr：" + LoggerMaskUtils.maskString(baseMessage.getPlainMessage()));
        }
    }

    /**
     * 输出快捷支付签名密文信息
     * 
     * @param baseMessage
     * @param signature
     */
    public static void printExPaySignatureLog(BaseMessage baseMessage, Object signature) {
        // 输出格式为：银行名称+交易类型+业务类型+密文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " expay payment signStr：" + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            logger.info(baseMessage.getOrderId() + " expay payment signStr：" + signature);
        } else {
            logger.info(bank + " expay payment signStr：" + signature);
        }
    }

    /**
     * 输出B2C交易验签明文信息
     * 
     * @param baseMessage
     */
    public static void printB2CVerifyPlainLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+明文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c verify plainStr：" + baseMessage.getPlainMessage());
    }

    /**
     * 输出B2C交易验签密文信息
     * 
     * @param baseMessage
     * @param signature
     */
    public static void printB2CVerifySignatureLog(BaseMessage baseMessage, String signature) {
        // 输出格式为：银行名称+交易类型+业务类型+密文信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c verify signStr：" + LoggerMaskUtils.maskString(signature));
    }

    /**
     * 输出B2C交易验签结果日志
     * 
     * @param baseMessage
     * @param result
     */
    public static void printB2CVerifyResultLog(BaseMessage baseMessage, boolean result) {
        // 输出格式为：银行名称+交易类型+业务类型+验签结果
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c verifyResult：" + result);
    }

    /**
     * 输出B2C交易查询请求信息
     * 
     * @param baseMessage
     * @param reqData
     */
    public static void printB2CQuerySendLog(BaseMessage baseMessage, Object reqData) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c query reqData：" + reqData);
    }

    /**
     * 输出B2C交易查询返回信息
     * 
     * @param baseMessage
     * @param resData
     */
    public static void printB2CQueryBlackLog(BaseMessage baseMessage, Object resData) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c query resData：" + resData);

    }

    /**
     * 输出B2B交易签名异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printB2BSignExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " b2b sign error：", e);
    }

    /**
     * 输出B2B交易验签异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printB2BVerifyExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " b2b verify error：", e);

    }

    /**
     * 输出B2B交易查询异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printB2BQueryExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " b2b query error：", e);

    }

    /**
     * 输出微信app交易异常信息
     * 
     * @param baseMessage
     * @param desc
     * @param e
     */
    public static void printWechatSdkExceptionLog(BaseMessage baseMessage, String desc, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + desc + ":", e);

    }

    /**
     * 输出B2C交易签名异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printB2CSignExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_GDB.equals(bank) && !(StringUtils.isEmpty(baseMessage.getSpecial()))) {
            logger.info(bank + " b2c sign error：" + baseMessage.getSpecial());
        }
        logger.error(bank + " b2c sign error：", e);
    }

    /**
     * 输出快捷交易验签异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printExPayVerifyExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " expay verify error：", e);
    }
    
    /**
     * 输出快捷交易验签异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printExPayVerifyExceptionLog( Exception e) {
        
        logger.error("expay verify error：", e);
    }

    /**
     * 输出快捷交易签约/绑卡异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printExPayBindCardExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " expay sign contract error：", e);
    }

    /**
     * 输出快捷交易解约/解绑卡异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printExPayUnBindCardExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " expay cansel contract error：", e);
    }

    /**
     * 输出B2C交易验签异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printB2CVerifyExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_GDB.equals(bank) && !StringUtils.isEmpty(baseMessage.getSpecial())) {
            logger.info(bank + " b2c verify error：" + baseMessage.getSpecial());
        }
        logger.error(bank + " b2c verify error：", e);
    }

    /**
     * 输出B2C交易查询异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printB2CQueryExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " b2c query error：", e);
    }

    /**
     * 输出退款交易查询异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printRefundExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " refund error：", e);
    }

    /**
     * 输出快捷交易查询异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printExPayQueryExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " expay query error：", e);
    }

    /**
     * 输出无卡交易支付请求信息
     * 
     * @param baseMessage
     * @param reqData
     */
    public static void printMtPayReqSignLog(BaseMessage baseMessage, Object reqData) {
        // 输出格式为：银行名称+交易类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " mtpay reqData：" + reqData);
    }

    /**
     * 输出无卡交易支付结果验签信息
     * 
     * @param baseMessage
     * @param resData
     */
    public static void printMtPayResVerifyLog(BaseMessage baseMessage, Object resData) {
        // 输出格式为：银行名称+交易类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " mtpay verify resData：" + resData);
    }

    /**
     * 输出无卡交易支付响应银行信息
     * 
     * @param baseMessage
     * @param resData
     */
    public static void printMtPayResponseLog(BaseMessage baseMessage, Object resData) {
        // 输出格式为：银行名称+交易类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " mtpay response bank Data：" + resData);
    }

    /**
     * 输出无卡交易查询请求信息
     * 
     * @param baseMessage
     * @param reqData
     */
    public static void printMtPayQueryReqLog(BaseMessage baseMessage, Object reqData) {
        // 输出格式为：银行名称+交易类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " mtpay query reqData：" + reqData);
    }

    /**
     * 输出无卡交易解析后的信息
     * 
     * @param baseMessage
     * @param parseData
     */
    public static void printMtPayParseMsgLog(BaseMessage baseMessage, Object parseData) {
        // 输出格式为：银行名称+交易类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " mtpay parse resData：" + ToStringBuilder.reflectionToString(parseData));
    }

    /**
     * 输出无卡交易异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printMtPayExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " mtpay error：", e);
    }

    /**
     * 输出银行B2B交易通信状态码(除200以外)
     * 
     * @param baseMessage
     * @param sCode
     */
    public static void printB2BHttpStatusCode(BaseMessage baseMessage, int sCode) {
        // 输出格式为：银行名称+交易类型+业务类型+Http返回状态码
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2b query fail status code: ：" + sCode);
    }

    /**
     * 输出银行B2C交易通信状态码(除200以外)
     * 
     * @param baseMessage
     * @param sCode
     */
    public static void printB2CHttpStatusCode(BaseMessage baseMessage, int sCode) {
        // 输出格式为：银行名称+交易类型+业务类型+Http返回状态码
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c query fail status code: ：" + sCode);
    }

    /**
     * 输出B2B manager签名前请求信息
     * 
     * @param baseMessage
     */
    public static void printB2BManagerSignSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcB2bMessage icbcMsg = (IcbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(icbcMsg)));
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2bMessage ccbMsg = (CcbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(ccbMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            // 农行
            AbcB2bMessage abcMsg = (AbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_TBANK.equals(bank)) {
            // 测试银行
            TBankMessage tbankMsg = (TBankMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(tbankMsg));
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2bMessage bocMsg = (BocB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2bMessage citicMsg = (CiticB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(citicMsg));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            BocomB2bReq bocmMsg = (BocomB2bReq) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(bocmMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2bMessage cebMessage = (CebB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2bMessage psbcMessage = (PsbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabB2bMessage pabMessage = (PabB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2bMessage tccbMessage = (TccbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(tccbMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2b manager sign send message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            CmbB2bMessage cmbMessage = (CmbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign sen message: " + ToStringBuilder.reflectionToString(cmbMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2BManagerSignSendLog日志输出！！！");
        }
    }

    /**
     * 输出B2B manager签名后返回信息
     * 
     * @param baseMessage
     */
    public static void printB2BManagerSignReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            IcbcB2bMessage icbcMsg = (IcbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            AbcB2bMessage abcMsg = (AbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2bMessage cebMessage = (CebB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2bMessage psbcMessage = (PsbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabB2bMessage pabMessage = (PabB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_BOBJ.equals(bank)) {
            BobjB2cMessage bobjMessage = (BobjB2cMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(bobjMessage));
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2bMessage bocMessage = (BocB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(bocMessage));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2bMessage citicMessage = (CiticB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(citicMessage));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMessage = (CmbcMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(cmbcMessage));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMessage = (SpdbMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(spdbMessage));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            BocomB2bReq bocomMessage = (BocomB2bReq) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(bocomMessage));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2bMessage tccbMessage = (TccbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(tccbMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            CmbB2bMessage cmbMessage = (CmbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager sign return message: " + ToStringBuilder.reflectionToString(cmbMessage));
        } else {
            logger.info(bank + " b2b manager sign return message: " + baseMessage.getSignMessage());
        }
    }

    /**
     * 输出B2B manager验签前请求信息
     * 
     * @param baseMessage
     */
    public static void printB2BManagerVerifySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcB2bMessage icbcMsg = (IcbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2bMessage ccbMsg = (CcbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(ccbMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            // 农行
            AbcB2bMessage abcMsg = (AbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_TBANK.equals(bank)) {
            // 测试银行
            TBankMessage tbankMsg = (TBankMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(tbankMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            AbcB2bMessage abcMsg = (AbcB2bMessage) baseMessage;
            logger.info(bank + "b2b manager verify send message: " + ToStringBuilder.reflectionToString(abcMsg));
            // 中行
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2bMessage bocMsg = (BocB2bMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2bMessage citicMsg = (CiticB2bMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(citicMsg));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            BocomB2bReq bocmMsg = (BocomB2bReq) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(bocmMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2bMessage cebMessage = (CebB2bMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2bMessage psbcMessage = (PsbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabOrderMessageRes pabMessage = (PabOrderMessageRes) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_BOBJ.equals(bank)) {
            BobjB2cMessage bobjMessage = (BobjB2cMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(bobjMessage));
        } else if (BankConstants.BANK_LOGO_NBCB.equals(bank)) {
            NbcbB2cMessage nbcbMessage = (NbcbB2cMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(nbcbMessage));
        } else if (BankConstants.BANK_LOGO_BOS.equals(bank)) {
            BosB2cMessage bosMessage = (BosB2cMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(bosMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            CmbB2bPayResult cmbMessage = (CmbB2bPayResult) baseMessage;
            logger.info(bank + " b2b manager verify send message: " + ToStringBuilder.reflectionToString(cmbMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2BManagerVerifySendLog日志输出！！！");
        }
    }

    /**
     * 输出B2B manager验签后返回信息
     * 
     * @param baseMessage
     * @param resFlag
     */
    public static void printB2BManagerVerifyReturnLog(BaseMessage baseMessage, Object resFlag) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2b manager verfiy return flag: " + ToStringBuilder.reflectionToString(resFlag));
    }

    /**
     * @Description: 输出扫码支付验签返回消息
     * @param baseMessae
     * @param resFlag
     * @author w_jiqing
     */
    public static void printWeChatManagerVerifyReturnLog(BaseMessage baseMessae, Object resFlag) {
        String bank = baseMessae.getOutStlmCd(); // 银行简称
        logger.info(bank + " manager verify return falg: " + ToStringBuilder.reflectionToString(resFlag));
    }

    /**
     * @Description: 输出扫码支付验签返回消息
     * @param baseMessae
     * @param resFlag
     * @author w_jiqing
     */
    public static void printWeChatManagerVerifySendLog(BaseMessage baseMessae) {
        String bank = baseMessae.getOutStlmCd(); // 银行简称
        String bisBankBusinessProd = baseMessae.getBankBusProd().value;
        if (BisBankBusinessProd._16.value.equals(bisBankBusinessProd)) {
            ScanPayServerNotifyMsg scanMsg = (ScanPayServerNotifyMsg) baseMessae;
            logger.info(bank + " scan manager verify send message: " + ToStringBuilder.reflectionToString(scanMsg));
        } else {
            logger.info(bank + " " + bisBankBusinessProd + " manager sign send signStr: 不支持");
        }
    }

    /**
     * 输出B2B manager查询前请求信息
     * 
     * @param baseMessage
     * @param reqData
     */
    public static void printB2BManagerQuerySendLog(BaseMessage baseMessage, Object reqData) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(reqData));
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2bMessage ccbMsg = (CcbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(ccbMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            // 农行
            AbcB2bMessage abcMsg = (AbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_TBANK.equals(bank)) {
            // 测试银行
            TBankOrderReq tbankMsg = (TBankOrderReq) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(tbankMsg));
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2bMessage bocMsg = (BocB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2bMessage citicMsg = (CiticB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(citicMsg));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            BocomB2bReq bocmMsg = (BocomB2bReq) baseMessage;
            logger.info(bank + " b2b manager query send message:  " + ToStringBuilder.reflectionToString(bocmMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2bMessage cebMessage = (CebB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2bMessage psbcMessage = (PsbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabB2bMessage pabMessage = (PabB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2bMessage tccbMessage = (TccbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(tccbMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            CmbB2bQueryReq cmbMessage = (CmbB2bQueryReq) baseMessage;
            logger.info(bank + " b2b manager query send message: " + ToStringBuilder.reflectionToString(cmbMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2BManagerQuerySendLog日志输出！！！");
        }
    }

    /**
     * 输出B2B manager查询后返回信息
     * 
     * @param baseMessage
     */
    public static void printB2BManagerQueryReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            CmsQueryB2BRes icbcMsg = (CmsQueryB2BRes) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2bMessage ccbMsg = (CcbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(ccbMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            // 农行
            AbcB2bMessage abcMsg = (AbcB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_TBANK.equals(bank)) {
            // 测试银行
            TBankOrderRes tbankMsg = (TBankOrderRes) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(tbankMsg));
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2bMessage bocMsg = (BocB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2bStreamDataRes citicMsg = (CiticB2bStreamDataRes) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(citicMsg));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            BocomB2bReq bocmMsg = (BocomB2bReq) baseMessage;
            logger.info(bank + " b2b manager query return message:  " + ToStringBuilder.reflectionToString(bocmMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2bMessage cebMessage = (CebB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcQueryMessage psbcMessage = (PsbcQueryMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabQueryOrdersMessageRes pabMessage = (PabQueryOrdersMessageRes) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2bMessage tccbMessage = (TccbB2bMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(tccbMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            CmbB2bQueryRes cmbMessage = (CmbB2bQueryRes) baseMessage;
            logger.info(bank + " b2b manager query return message: " + ToStringBuilder.reflectionToString(cmbMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2BManagerQueryReturnLog日志输出！！！");
        }
    }

    /**
     * @Description: 打印微信支付manager发送信息
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printWeChatManagerSignSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称 WECHAT
        String bisBankBusinessProd = baseMessage.getBankBusProd().value; // 银行业务产品代码
                                                                         // 16：三方扫码支付
        if (BisBankBusinessProd._16.value.equals(bisBankBusinessProd)) {
            ScanPayReqMsg scanMsg = (ScanPayReqMsg) baseMessage;
            logger.info(bank + " scan manager sign send message: " + ToStringBuilder.reflectionToString(scanMsg));
        } else {
            logger.info(bank + " " + bisBankBusinessProd + " manager sign send signStr: 不支持");
        }

    }

    /**
     * 打印小额免密支付manager-sign 接收信息
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerSignReturnLog(BaseMessage baseMessage) {
        String bank = baseMessage.getOutStlmCd();

        MicroPayResMsg microPayRes = (MicroPayResMsg) baseMessage;
        logger.info(bank + " micro manager sign return message: " + ToStringBuilder.reflectionToString(microPayRes));

    }

    /**
     * 打印小额免密支付manager-sign 发送信息
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerSignSendLog(BaseMessage baseMessage) {
        String bank = baseMessage.getOutStlmCd();
        String bisBankBusinessProd = baseMessage.getBankBusProd().value;
        if (BisBankBusinessProd._25.value.equals(bisBankBusinessProd)) {
            MicroPayReqMsg microPay = (MicroPayReqMsg) baseMessage;
            logger.info(bank + " micro manager sign send message: " + ToStringBuilder.reflectionToString(microPay));
        } else {
            logger.info(bank + " " + bisBankBusinessProd + " manager sign send signStr: 不支持");
        }
    }

    /**
     * @Description: 打印微信app支付manager发送信息
     * @param baseMessage
     * @author jiangxiangjiao
     */
    public static void printWeChatSdkManagerPaySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称 WECHAT
        String bisBankBusinessProd = baseMessage.getBankBusProd().value; // 银行业务产品代码
                                                                         // 17：三方app支付
        if (BisBankBusinessProd._17.value.equals(bisBankBusinessProd)) {
            SdkPayReqMsg scanMsg = (SdkPayReqMsg) baseMessage;
            logger.info(bank + " sdk manager pay send message: " + ToStringBuilder.reflectionToString(scanMsg));
        } else {
            logger.info(bank + " " + bisBankBusinessProd + " manager sign pay signStr: 不支持");
        }
    }

    public static void printExpayManagerRefundSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd();
        if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " expay manager refund send message: " + ToStringBuilder.reflectionToString(message));
        }else if(BankConstants.BANK_LOGO_CITIC.equals(bank)){
            CiticExpay message = (CiticExpay) baseMessage;
            logger.info(bank+" expay manager refund return message: " + ToStringBuilder.reflectionToString(message));
        }else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayBaseMessage message = (NuccExpayBaseMessage) baseMessage;
            logger.info(bank+" expay manager refund return message: " + ToStringBuilder.reflectionToString(message));
        }else{
            logger.info("清算机构代码：" + bank + ",不支持printExpayManagerRefundSendLog日志输出！！！");
        }
    }

    public static void printExpayManagerRefundReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd();
        if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " expay manager refund return message: " + ToStringBuilder.reflectionToString(message));
        }else if(BankConstants.BANK_LOGO_CITIC.equals(bank)){
            CiticExpay message = (CiticExpay) baseMessage;
            logger.info(bank+" expay manager refund return message: " + ToStringBuilder.reflectionToString(message));
        }else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayRefundRes message = (NuccExpayRefundRes) baseMessage;
            logger.info(bank+" expay manager refund return message: " + ToStringBuilder.reflectionToString(message));
        }else{
            logger.info("清算机构代码：" + bank + ",不支持printExpayManagerRefundReturnLog日志输出！！！");
        }
    }

    /**
     * @Description: 打印微信app退款manager发送信息
     * @param baseMessage
     * @author jiangxiangjiao
     */
    public static void printWeChatSdkManagerRefundSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称 WECHAT
        String bisBankBusinessProd = baseMessage.getBankBusProd().value; // 银行业务产品代码
                                                                         // 17：三方app退款
        if (BisBankBusinessProd._17.value.equals(bisBankBusinessProd)) {
            SdkRefundReqMsg scanMsg = (SdkRefundReqMsg) baseMessage;
            logger.info(bank + " sdk manager pay send message: " + ToStringBuilder.reflectionToString(scanMsg));
        } else {
            logger.info(bank + " " + bisBankBusinessProd + " manager sign refund signStr: 不支持");
        }
    }

    /**
     * @Description: 打印微信app订单查询manager发送信息
     * @param baseMessage
     * @author jiangxiangjiao
     */
    public static void printWeChatSdkManagerQuerySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称 WECHAT
        String bisBankBusinessProd = baseMessage.getBankBusProd().value; // 银行业务产品代码
                                                                         // 17：三方app订单查询
        if (BisBankBusinessProd._17.value.equals(bisBankBusinessProd)) {
            SdkOrderQueryReqMsg scanMsg = (SdkOrderQueryReqMsg) baseMessage;
            logger.info(bank + " sdk manager pay send message: " + ToStringBuilder.reflectionToString(scanMsg));
        } else {
            logger.info(bank + " " + bisBankBusinessProd + " manager sign orderQuery signStr: 不支持");
        }
    }

    /**
     * @Description: 打印微信app退款订单查询manager发送信息
     * @param baseMessage
     * @author jiangxiangjiao
     */
    public static void printWeChatSdkManagerRefundQuerySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称 WECHAT
        String bisBankBusinessProd = baseMessage.getBankBusProd().value; // 银行业务产品代码
                                                                         // 17：三方app退款订单查询
        if (BisBankBusinessProd._17.value.equals(bisBankBusinessProd)) {
            SdkRefundQueryReqMsg scanMsg = (SdkRefundQueryReqMsg) baseMessage;
            logger.info(bank + " sdk manager pay send message: " + ToStringBuilder.reflectionToString(scanMsg));
        } else {
            logger.info(bank + " " + bisBankBusinessProd + " manager sign refundQuery signStr: 不支持");
        }
    }

    /**
     * 输出B2C manager签名前请求信息
     * 
     * @param baseMessage
     */
    public static void printB2CManagerSignSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcB2cMessage icbcMsg = (IcbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2cMessage ccbMsg = (CcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(ccbMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            // 交行
            BocomB2cMessage bocomMsg = (BocomB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(bocomMsg));
        } else if (BankConstants.BANK_LOGO_CUCCPAY.equals(bank)) {
            // 联通沃支付
            CuccPayMessage cuccpayMsg = (CuccPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(cuccpayMsg));
        } else if (BankConstants.BANK_LOGO_TBANK.equals(bank)) {
            // 测试银行
            TBankMessage tbankMsg = (TBankMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(tbankMsg));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            // 招行
            CmbB2cMessage cmbMsg = (CmbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(cmbMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            AbcB2cMessage abcMsg = (AbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(abcMsg));
            // 中行
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2cMessage bocMsg = (BocB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2cMessage citicMsg = (CiticB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(citicMsg));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            UmPayMessage umPayMsg = (UmPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(umPayMsg));
        } else if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayMessage unionPayMsg = (UnionPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(unionPayMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2cMessage cebMessage = (CebB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2cMessage psbcMessage = (PsbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabB2cMessage pabMessage = (PabB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_NBCB.equals(bank)) {
            NbcbB2cMessage nbcbMessage = (NbcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(nbcbMessage));
        } else if (BankConstants.BANK_LOGO_BOS.equals(bank)) {
            BosB2cMessage bosMessage = (BosB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(bosMessage));
        } else if (BankConstants.BANK_LOGO_HXBC.equals(bank)) {
            HXEB2CReqPay hxbcMessage = (HXEB2CReqPay) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(hxbcMessage));
        } else if (BankConstants.BANK_LOGO_NJCB.equals(bank)) {
            NjcbB2cMessage njcbMessage = (NjcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(njcbMessage));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2cMessage tccbMessage = (TccbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(tccbMessage));
        } else if (BankConstants.BANK_LOGO_BOBJ.equals(bank)) {
            BobjB2cMessage bobjMessage = (BobjB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(bobjMessage));
        } else if (BankConstants.BANK_LOGO_HNAPAY.equals(bank)) {
            HnaPayMessage hnapayMessage = (HnaPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(hnapayMessage));
        } else if (BankConstants.BANK_LOGO_KUAIQIAN.equals(bank)) {
            KuaiQianMessage kuaiqianMessage = (KuaiQianMessage) baseMessage;
            logger.info(
                    bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(kuaiqianMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_GDB.equals(bank)) {
            GdbB2cMessage gdbb2cMessage = (GdbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(gdbb2cMessage));
        } else if (BankConstants.BANK_LOGO_PAYEASE.equals(bank)) {
            PayEaseMessage easeMessage = (PayEaseMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(easeMessage));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            YspayMessage yspayMessage = (YspayMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(yspayMessage));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            IpayMessage ipayMessage = (IpayMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(ipayMessage));
        } else if (BankConstants.BANK_LOGO_KHPAY.equals(bank)) {
            KhPayMessage khPayMessage = (KhPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign send message: " + ToStringBuilder.reflectionToString(khPayMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2CManagerSignSendLog日志输出！！！");
        }
    }

    /**
     * 输出refund签名前请求信息
     * 
     * @param baseMessage
     */
    public static void printRefundManagerSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付
            IpayMessage iMessage = (IpayMessage) baseMessage;
            logger.info(bank + " refund manager send message: " + ToStringBuilder.reflectionToString(iMessage));
        } else if (BankConstants.BANK_LOGO_KHPAY.equals(bank)) {
            // 平安跨行支付
            KhPayMessage khPayMessage = (KhPayMessage) baseMessage;
            logger.info(bank + " refund manager send message: " + ToStringBuilder.reflectionToString(khPayMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printRefundManagerSendLog日志输出！！！");
        }
    }

    /**
     * 输出B2C manager签名前请求信息
     * 
     * @param baseMessage
     */
    public static void printMtPayManagerSignSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            // 联动优势
            UmPayMtPayMessage umpayMsg = getUmPayLogDataMsg(baseMessage);
            logger.info(bank + " mtPay manager sign send message: " + ToStringBuilder.reflectionToString(umpayMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2CManagerSignSendLog日志输出！！！");
        }
    }

    /**
     * 输出B2C manager签名前请求信息
     * 
     * @param baseMessage
     */
    public static void printMtPayManagerSignReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            // 联动优势
            UmPayMtPayMessage umpayMsg = getUmPayLogDataMsg(baseMessage);
            logger.info(bank + " mtPay manager sign return message: " + ToStringBuilder.reflectionToString(umpayMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printMtPayManagerSignReturnLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager查询cvn请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerQueryCvnSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = (YeePayExPayMessage) baseMessage;
            logger.info(bank + " exPay manager querycvn send message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerQueryCvnSendLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager查询cvn返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerQueryCvnReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = (YeePayExPayMessage) baseMessage;
            logger.info(
                    bank + " exPay manager querycvn return message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerQueryCvnSendLog日志输出！！！");
        }
    }
    
    /** 
     * 输出manager 解约验签请求信息 
     * @param baseMessage 
     * @author w_jiqing 
     */
    public static void printExPayManagerCancelVerifySendLog (BaseMessage baseMessage){        
     // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayRescindRes message = (NuccExpayRescindRes) baseMessage;
            logger.info(bank + " exPay manager cancelVerify send message: " + ToStringBuilder.reflectionToString(message));
        }else{
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerCancelVerifySendLog日志输出！！！");
        }
    }
    
    /** 
     * 输出manager 解约验签响应信息 
     * @param baseMessage 
     * @author w_jiqing 
     */
    public static void printExPayManagerCancelVerifyReturnLog (BaseMessage baseMessage){        
     // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayRescindRes message = (NuccExpayRescindRes) baseMessage;
            logger.info(bank + " exPay manager cancelVerify return message: " + ToStringBuilder.reflectionToString(message));
        }else{
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerCancelVerifyReturnLog日志输出！！！");
        }
    }
    
    /** 
     * 输出manager 发送短信请求信息
     * @param baseMessage 
     * @author w_jiqing 
     */
    public static void printExPayManagerSendSmsSendLog (BaseMessage baseMessage){
     // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayBaseMessage message = (NuccExpayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager sendSms send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_ICBC.equals(bank)){
            IcbcPreExpayCmsReq message = (IcbcPreExpayCmsReq) baseMessage;
            logger.info(bank + " exPay manager prepayment send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerSendSmsSendLog日志输出！！！");
        }
        
    }
    
    /** 
     * 输出manager 发送短信响应信息
     * @param baseMessage 
     * @author w_jiqing 
     */
    public static void printExPayManagerSendSmsReturnLog (BaseMessage baseMessage){
     // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayCertRes message = (NuccExpayCertRes) baseMessage;
            logger.info(bank + " exPay manager sendSms return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_ICBC.equals(bank)){
            IcbcPreExpayCmsRes message = (IcbcPreExpayCmsRes) baseMessage;
            logger.info(bank + " exPay manager prepayment return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerSendSmsReturnLog日志输出！！！");
        }
        
    }
    
    /** 
     * 输出manager 校验短信请求信息
     * @param baseMessage 
     * @author w_jiqing 
     */
    public static void printExPayManagerCheckSmsSendLog (BaseMessage baseMessage){
     // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayBaseMessage message = (NuccExpayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager checkSms send message: " + ToStringBuilder.reflectionToString(message));
        }else{
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerCheckSmsSendLog日志输出！！！");
        }
        
    }
    
    /** 
     * 输出manager 校验短信响应信息
     * @param baseMessage 
     * @author w_jiqing 
     */
    public static void printExPayManagerCheckSmsReturnLog (BaseMessage baseMessage){
     // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayCertRes message = (NuccExpayCertRes) baseMessage;
            logger.info(bank + " exPay manager checkSms return message: " + ToStringBuilder.reflectionToString(message));
        }else{
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerCheckSmsReturnLog日志输出！！！");
        }
        
    }
    

    /**
     * 输出快捷 manager认证前请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerCertificationSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            // 银联代扣
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(
                    bank + " exPay manager certification send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = getYeePayLogDataMsg(baseMessage);
            logger.info(
                    bank + " exPay manager certification send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_CMBCADPAY.equals(bank)) {
            // 民生代扣
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(
                    bank + " exPay manager certification send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            // 银盛代扣
            YspayAdPayMessage message = (YspayAdPayMessage) baseMessage;
            logger.info(
                    bank + " exPay manager certification send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            // 光大
            CebExPayMessage message = (CebExPayMessage) baseMessage;
            logger.info(
                    bank + " exPay manager certification send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));

        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager sign(bindCard) send message: " + message.getPlainMessage());
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            // 中信
            CiticExpay message = (CiticExpay) baseMessage;
            logger.info(bank + " exPay manager certification send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message.getPlainMessage())));

        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            // 平安
            PabExPayMessage message =(PabExPayMessage)baseMessage;
            logger.info(bank + " exPay manager certification send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayBaseMessage message = (NuccExpayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager certification send message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerCertificationSendLog日志输出！！！");
        }
    }

	
	/** 
	 * 快捷支付manager解约请求信息
	 * @param baseMessage 
	 * @author w_jiqing 
	 */
	public static void printExPayUnBindCardSendLog(BaseMessage baseMessage){
		// 输出格式为：银行名称+交易类型+业务类型+请求信息
		String bank = baseMessage.getOutStlmCd(); // 银行简称
		if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager unBindCard send message: " + message.getPlainMessage());
        }else if(BankConstants.BANK_LOGO_CEB.equals(bank)){
            CebExPayMessage message = (CebExPayMessage) baseMessage;
            logger.info(bank + " exPay manager unBindCard send message: " + LoggerMaskUtils.maskString(message.getPlainMessage()));
        }else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayBaseMessage message = (NuccExpayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager unBindCard send message: " + ToStringBuilder.reflectionToString(message));
        }else{
            logger.info("清算机构代码：" + bank + ",不支持printExPayUnBindCardSendLog日志输出！！！");
        }
        
    }

	
	/** 
	 * 快捷支付manager解约返回信息
	 * @param baseMessage 
	 * @author w_jiqing 
	 */
	public static void printExPayUnBindCardRetuenLog(BaseMessage baseMessage){
		// 输出格式为：银行名称+交易类型+业务类型+请求信息
		String bank = baseMessage.getOutStlmCd(); // 银行简称
		if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager unBindCard return message: " + message.getPlainMessage());
        }else if(BankConstants.BANK_LOGO_CEB.equals(bank)){
            CebExpaySuitQSCRes message = (CebExpaySuitQSCRes) baseMessage;
            logger.info(bank + " exPay manager unBindCard return message: " + LoggerMaskUtils.maskString(message.getPlainMessage()));
        }else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayRescindRes message = (NuccExpayRescindRes) baseMessage;
            logger.info(bank + " exPay manager unBindCard return message: " + ToStringBuilder.reflectionToString(message));
        }else{
            logger.info("清算机构代码：" + bank + ",不支持printExPayUnBindCardRetuenLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager白名单采集前请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerWhiteListSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_CMBCADPAY.equals(bank)) {
            // 民生代扣
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(bank + " exPay manager whiteList send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 注：易宝的鉴权使用民生通道的鉴权，故bank为YEEPAY
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(bank + " exPay manager whiteList send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerWhiteListSendLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager认证返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerCertificationReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            // 银联代扣
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager certification return message: "
                    + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = getYeePayLogDataMsg(baseMessage);
            logger.info(bank + " exPay manager certification return message: "
                    + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_CMBCADPAY.equals(bank)) {
            // 民生代扣
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(bank + " exPay manager certification return message: "
                    + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            // 银盛代扣
            YspayAdPayMessage message = (YspayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager certification return message: "
                    + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            // 光大快捷
            CebExpaySuitQUSRes message = (CebExpaySuitQUSRes)baseMessage;
            logger.info(bank + " exPay manager certification return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        }else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager certification return message: " + message.getPlainMessage());
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticExpayResMessage message = (CiticExpayResMessage) baseMessage;
            logger.info(bank + " exPay manager certification return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            // 平安快捷
            PabExPayMessage message = (PabExPayMessage)baseMessage;
            logger.info(bank + " exPay manager certification return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
			// 浦发代扣
        	SpdbAdPayMessage message =(SpdbAdPayMessage)baseMessage;
			logger.info(bank + " exPay manager certification return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
		} else if (BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayCertRes message = (NuccExpayCertRes) baseMessage;
            logger.info(bank + " exPay manager certification return message: "
                    + ToStringBuilder.reflectionToString(message));
        } else {
			logger.info("清算机构代码：" + bank + ",不支持printExPayManagerCertificationReturnLog日志输出！！！");
		}
	}

    /**
     * 输出快捷 manager白名单采集返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerWhiteListReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_CMBCADPAY.equals(bank)) {
            // 民生代扣
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(
                    bank + " exPay manager whiteList return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 注：易宝通道走民生的鉴权 故bank为YEEPAY
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(
                    bank + " exPay manager whiteList return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerWhiteListReturnLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager支付前请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerPaymentSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            // 银联代扣
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager payment send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = getYeePayLogDataMsg(baseMessage);
            logger.info(bank + " exPay manager payment send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_CMBCADPAY.equals(bank)) {
            // 民生代扣
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(bank + " exPay manager payment send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            // 银盛代扣
            YspayAdPayMessage message = (YspayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager payment send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager payment send message: " + ToStringBuilder.reflectionToString(message));
		}  else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
			// 平安快捷
			PabExPayMessage message = (PabExPayMessage)baseMessage;
			logger.info(bank + " exPay manager payment send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
		} else if(BankConstants.BANK_LOGO_SPDBADPAY.equals(bank)){
		    SpdbAdPayMessage message = (SpdbAdPayMessage) baseMessage;
		    logger.info(bank + " exPay manager payment send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
		} else if(BankConstants.BANK_LOGO_ICBC.equals(bank)){
		    // 工行快捷
            IcbcExpayCmsReq message = (IcbcExpayCmsReq) baseMessage;
            logger.info(bank + " exPay manager payment send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_NUCCPAY.equals(bank)) {
            NuccExpayBaseMessage message = (NuccExpayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager payment send message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerPaymentSendLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager支付返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerPaymentReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            // 银联代扣
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager payment return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = getYeePayLogDataMsg(baseMessage);
            logger.info(bank + " exPay manager payment return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_CMBCADPAY.equals(bank)) {
            // 民生代扣
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(bank + " exPay manager payment return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
			// 银盛代扣
			YspayAdPayMessage message = (YspayAdPayMessage)baseMessage;
			logger.info(bank + " exPay manager payment return message: " + ToStringBuilder.reflectionToString(message));

		} else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager payment return message: " + ToStringBuilder.reflectionToString(message));
		} else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
			// 平安快捷
			PabExPayMessage message = (PabExPayMessage)baseMessage;
			logger.info(bank + " exPay manager payment return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_SPDBADPAY.equals(bank)) {
			// 浦发代扣
			SpdbAdPayMessage message = (SpdbAdPayMessage)baseMessage;
			logger.info(bank + " exPay manager payment return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
		} else if(BankConstants.BANK_LOGO_ICBC.equals(bank)){
            IcbcExpayCmsRes message = (IcbcExpayCmsRes) baseMessage;
            logger.info(bank + " exPay manager payment return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            //网联
            NuccExpaymentRes message = (NuccExpaymentRes) baseMessage;
            logger.info(bank + " exPay manager payment return message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerPaymentReturnLog日志输出！！！");
        }
    }
    
    /**
     * 输出快捷manager 退款验签请求信息
     * @param baseMessage 
     */
    public static void printExPayManagerRefundVerifySendLog(BaseMessage baseMessage){
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd();
        if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayRefundEndRes message = (NuccExpayRefundEndRes) baseMessage;
            logger.info(bank + " exPay manager RefundVerify send message: " + ToStringBuilder.reflectionToString(message));
        }else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerRefundVerifySendLog日志输出！！！");
        }
    }
    
    /**
     * 输出快捷manager 退款验签返回信息
     * @param baseMessage 
     */
    public static void printExPayManagerRefundVerifyReturnLog(BaseMessage baseMessage){
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd();
        if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayRefundEndRes message = (NuccExpayRefundEndRes) baseMessage;
            logger.info(bank + " exPay manager RefundVerify return message: " + ToStringBuilder.reflectionToString(message));
        }else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerRefundVerifyReturnLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager验签前请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerVerifySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            // 联动无卡
            UmPayMtPayMessage message = (UmPayMtPayMessage) baseMessage;
            logger.info(bank + " exPay manager verify send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = (YeePayExPayMessage) baseMessage;
            logger.info(bank + " exPay manager verify send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            // 银盛代扣
            YspayAdPayMessage message = (YspayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager verify send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager verify send message: " + ToStringBuilder.reflectionToString(message));
        } else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpaymentEndRes message = (NuccExpaymentEndRes) baseMessage;
            logger.info(bank + " exPay manager verify send message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerVerifySendLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager验签返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerVerifyReturnLog(BaseMessage baseMessage, Object o) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            // 联动无卡
            UmPayMtPayMessage message = (UmPayMtPayMessage) baseMessage;
            logger.info(bank + " exPay manager veirfy return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = (YeePayExPayMessage) baseMessage;
            logger.info(bank + " exPay manager veirfy return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            // 银盛代扣
            YspayAdPayMessage message = (YspayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager veirfy return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager veirfy return message: " + ToStringBuilder.reflectionToString(message));
        } else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpaymentEndRes message = (NuccExpaymentEndRes) baseMessage;
            logger.info(bank + " exPay manager veirfy return message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerVerifyReturnLog日志输出！！！");
        }
    }

    /**
     * 输出快捷 manager查询前请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerQuerySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            // 银联代扣
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager query send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = (YeePayExPayMessage) baseMessage;
            logger.info(bank + " exPay manager query send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            // 联动无卡
            UmPayMtPayMessage message = (UmPayMtPayMessage) baseMessage;
            logger.info(bank + " exPay manager query send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_CMBCADPAY.equals(bank)) {
            // 民生代扣
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(bank + " exPay manager query send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            // 银盛代扣
            YspayAdPayMessage message = (YspayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager query send message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            // 浦发快捷支付
            SpdbMessageExPay message = (SpdbMessageExPay) baseMessage;
            logger.info(bank + " exPay manager query send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if(BankConstants.BANK_LOGO_SPDBADPAY.equals(bank)){
            //浦发代扣
            SpdbAdPayMessage<SinCutQueryReq> message =(SpdbAdPayMessage<SinCutQueryReq>) baseMessage;
            logger.info(bank + " exPay manager query send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            // 光大快捷支付
            CebExPayMessage message = (CebExPayMessage) baseMessage;
            logger.info(bank + " exPay manager query send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager query send message: " + message.getPlainMessage());
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticExpay message = (CiticExpay) baseMessage;
            logger.info(bank + "exPay manager query send message: " + message.getPlainMessage());
        } else if(BankConstants.BANK_LOGO_PAB.equals(bank)){
        	//平安快捷支付
        	PabExPayMessage message =(PabExPayMessage) baseMessage;
        	logger.info(bank + " exPay manager query send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if(BankConstants.BANK_LOGO_ICBC.equals(bank)){
            IcbcQueryExpayCmsReq message = (IcbcQueryExpayCmsReq) baseMessage;
            logger.info(bank + " exPay manager query send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayBaseMessage message = (NuccExpayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager query send message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerQuerySendLog日志输出！！！");
		}
	}

    /**
     * 输出快捷 manager查询返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerQueryReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            // 银联代扣
            UnionPayAdPayMessage message = (UnionPayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager query return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_YEEPAY.equals(bank)) {
            // 易宝
            YeePayExPayMessage message = (YeePayExPayMessage) baseMessage;
            logger.info(bank + " exPay manager query return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            // 联动无卡
            UmPayMtPayMessage message = (UmPayMtPayMessage) baseMessage;
            logger.info(bank + " exPay manager query return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_CMBCADPAY.equals(bank)) {
            // 民生代扣
            CmbcExPayMessage message = (CmbcExPayMessage) baseMessage;
            logger.info(bank + " exPay manager query return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            // 银盛代扣
            YspayAdPayMessage message = (YspayAdPayMessage) baseMessage;
            logger.info(bank + " exPay manager query return message: " + ToStringBuilder.reflectionToString(message));
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            // 浦发快捷支付
            SpdbMessageExPay message = (SpdbMessageExPay) baseMessage;
            logger.info(bank + " exPay manager query return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        }else if(BankConstants.BANK_LOGO_SPDBADPAY.equals(bank)){
            //浦发代扣
            SpdbAdPayMessage<SinCutQueryRes> message =(SpdbAdPayMessage<SinCutQueryRes>) baseMessage;
            logger.info(bank + " exPay manager query send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            // 光大快捷支付
            CebExpaySuitNSOQRes message = (CebExpaySuitNSOQRes) baseMessage;
            logger.info(bank + " exPay manager query return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付快捷
            IpayExPayBaseMessage message = (IpayExPayBaseMessage) baseMessage;
            logger.info(bank + " exPay manager query return message: " + message.getPlainMessage());
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticExpayResMessage message = (CiticExpayResMessage) baseMessage;
            logger.info(bank + " exPay manager query return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            // 平安快捷支付
        	PabExPayMessage message = (PabExPayMessage) baseMessage;
            logger.info(bank + " exPay manager query return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else if(BankConstants.BANK_LOGO_NUCCPAY.equals(bank)){
            NuccExpayQueryRes message = (NuccExpayQueryRes) baseMessage;
            logger.info(bank + " exPay manager query return message: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printExPayManagerQueryReturnLog日志输出！！！");
        }
    }

	
	/**
	 * 输出快捷支付manager签约查询信息
	 * 
	 * @param baseMessage
	 */
	public static void printExPayManagerSignQuerySendLog(BaseMessage baseMessage){
	 // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(
                bank + " exPay manager sign query send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
	 * 输出快捷签到manager信息
	 * 
	 * @param baseMessage
	 */
	public static void printExPayManagerSignInSendLog(BaseMessage baseMessage){
	 // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " exPay manager signIn send message: " + ToStringBuilder.reflectionToString(baseMessage));
	}
	
	/**
     * 输出快捷支付manager签约查询返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerSignQueryReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(
                bank + " exPay manager sign query return  message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷支付manager签约请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerSignSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " exPay manager sign send message: " + 
        		LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷支付manager签约返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayManagerSignReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " exPay manager sign return message: " + 
        		LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷支付签约请求信息
     * 
     * @param baseMessage
     */
    public static void printExPaySignSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " exPay sign send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷支付签约返回信息
     * 
     * @param baseMessage
     */
    public static void printExPaySignReturnLog(BaseMessage baseMessage, Object object) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            logger.info(bank + " exPay sign return message: " + ToStringBuilder.reflectionToString(object));
        }
        logger.info(bank + " exPay sign return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷支付验签请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayVerifySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " exPay verify send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷支付验签返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayVerifySignatureLog(BaseMessage baseMessage, String signature) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " expay verify signStr：" + LoggerMaskUtils.maskString(signature));

    }

    /**
     * 输出快捷支付验签结果
     * 
     * @param baseMessage
     */
    public static void printExPayVerifyResultLog(BaseMessage baseMessage, boolean result) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " expay verifyResult：" + result);

    }

    /**
     * 输出快捷支付签约查询请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayTreatyQuerySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " exPay treatyQuery send message: " + 
        		LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷支付签约查询返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayTreatyQueryReturnLog(BaseMessage baseMessage, Object object) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            logger.info(bank + " exPay treatyQuery return message: " + ToStringBuilder.reflectionToString(object));
        }
        logger.info(bank + " exPay treatyQuery return message: " + 
        		LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷交易支付请求信息
     * 
     * @param baseMessage
     */
    public static void printExPayPaymentSendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " exPay payment send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷交易支付返回信息
     * 
     * @param baseMessage
     */
    public static void printExPayPaymentReturnLog(BaseMessage baseMessage, Object object) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            logger.info(bank + " exPay payment return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(object)));
        }
        logger.info(bank + " exPay payment return message: " + 
        		LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(baseMessage)));
    }

    /**
     * 输出快捷交易查询请求信息
     * 
     * @param baseMessage
     * @param reqData
     */
    // 输出格式为：银行名称+交易类型+请求信息
    public static void printExPayQueryReqLog(BaseMessage baseMessage, String reqData) {
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " expay query reqData：" + LoggerMaskUtils.maskString(reqData));
    }

    /**
     * 输出快捷交易查询返回信息
     * 
     * @param baseMessage
     * @param resData
     */
    public static void printExPayQueryResLog(BaseMessage baseMessage, Object resData) {
        // 输出格式为：银行名称+交易类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " expay query resData：" + resData);
    }

    /**
     * 输出快捷交易异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printExPayExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " expay error：", e);
    }

    /**
     * 输出Expay交易签名异常信息
     * 
     * @param baseMessage
     * @param e
     */
    public static void printExPaySignExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+交易类型+业务类型+异常信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " expay sign error：", e);
    }

    /**
     * 输出Expay支付异常
     * 
     * @param baseMessage
     * @param e
     */
    public static void printExPayPaymentExceptionLog(BaseMessage baseMessage, Exception e) {
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " expay payment error：", e);
    }

    /**
     * 输出B2C manager签名后返回信息
     * 
     * @param baseMessage
     */
    public static void printB2CManagerSignReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcB2cMessage icbcMsg = (IcbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else if (BankConstants.BANK_LOGO_CUCCPAY.equals(bank)) {
            // 联通沃支付
            CuccPayMessage cuccpayMsg = (CuccPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign return signStr: " + cuccpayMsg.getSignMsg());
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            // 招行
            CmbB2cMessage cmbpayMsg = (CmbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return signStr: " + cmbpayMsg.getMerchantCode());
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2cMessage ccbpayMsg = (CcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return signStr: " + ccbpayMsg.getSignMessage());
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            AbcB2cMessage abcMsg = (AbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return signStr: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            // 交行
            BocomB2cMessage bocompayMsg = (BocomB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return signStr: " + bocompayMsg.getSignMessage());
        } else if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            UmPayMessage umPayMsg = (UmPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign return signStr: " + ToStringBuilder.reflectionToString(umPayMsg));
        } else if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayMessage unionPayMsg = (UnionPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign return signStr: " + ToStringBuilder.reflectionToString(unionPayMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2cMessage cebMessage = (CebB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2cMessage psbcMessage = (PsbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabB2cMessage pabMessage = (PabB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_BOBJ.equals(bank)) {
            BobjB2cMessage bobjMessage = (BobjB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(bobjMessage));
        } else if (BankConstants.BANK_LOGO_NBCB.equals(bank)) {
            NbcbB2cMessage nbcbMessage = (NbcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(nbcbMessage));
        } else if (BankConstants.BANK_LOGO_BOS.equals(bank)) {
            BosB2cMessage bosMessage = (BosB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(bosMessage));
            // 中行
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2cMessage bocMsg = (BocB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2cMessage citicMsg = (CiticB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(citicMsg));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_HXBC.equals(bank)) {
            HXEB2CResGetUrl hxbcMsg = (HXEB2CResGetUrl) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(hxbcMsg));
        } else if (BankConstants.BANK_LOGO_NJCB.equals(bank)) {
            NjcbB2cMessage njcbMsg = (NjcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(njcbMsg));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2cMessage tccbMsg = (TccbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(tccbMsg));
        } else if (BankConstants.BANK_LOGO_HNAPAY.equals(bank)) {
            HnaPayMessage hnapayMsg = (HnaPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(hnapayMsg));
        } else if (BankConstants.BANK_LOGO_KUAIQIAN.equals(bank)) {
            KuaiQianMessage kuaiqianMsg = (KuaiQianMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(kuaiqianMsg));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMsg = (CibMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(cibMsg));
        } else if (BankConstants.BANK_LOGO_GDB.equals(bank)) {
            GdbB2cMessage gdbMsg = (GdbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(gdbMsg));
        } else if (BankConstants.BANK_LOGO_PAYEASE.equals(bank)) {
            PayEaseMessage easeMsg = (PayEaseMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(easeMsg));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            YspayMessage yspayMessage = (YspayMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(yspayMessage));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            IpayMessage ipayMessage = (IpayMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(ipayMessage));
        } else if (BankConstants.BANK_LOGO_KHPAY.equals(bank)) {
            KhPayMessage khPayMessage = (KhPayMessage) baseMessage;
            logger.info(bank + " b2c manager sign return message: " + ToStringBuilder.reflectionToString(khPayMessage));
        } else {
            logger.info(bank + " b2c manager sign return signStr: " + baseMessage.getSignMessage());
        }
    }

    /**
     * 输出refund签名后返回信息
     * 
     * @param baseMessage
     */
    public static void printRefundManagerReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付
            IpayMessage iMessage = (IpayMessage) baseMessage;
            logger.info(bank + " refund manager return message: " + ToStringBuilder.reflectionToString(iMessage));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 平安跨行支付
            KhPayMessage khPayMessage = (KhPayMessage) baseMessage;
            logger.info(bank + " refund manager return message: " + ToStringBuilder.reflectionToString(khPayMessage));
        } else {
            logger.info(bank + " refund manager return signStr: " + baseMessage.getSignMessage());
        }
    }

    /**
     * 输出B2C manager验签前请求信息
     * 
     * @param baseMessage
     */
    public static void printB2CManagerVerifySendLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcB2cMessage icbcMsg = (IcbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2cMessage ccbMsg = (CcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(ccbMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            // 农行
            AbcB2cMessage abcMsg = (AbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_CUCCPAY.equals(bank)) {
            // 联通沃支付
            CuccPayMessage cuccpayMsg = (CuccPayMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(cuccpayMsg));
        } else if (BankConstants.BANK_LOGO_TBANK.equals(bank)) {
            // 测试银行
            TBankMessage tbankMsg = (TBankMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(tbankMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            AbcB2cMessage abcMsg = (AbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(abcMsg));
            // 中行
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2cMessage bocMsg = (BocB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2cMessage citicMsg = (CiticB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(citicMsg));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            BocomB2cMessage bocmMsg = (BocomB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(bocmMsg));
        } else if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            UmPayMessage umPayMsg = (UmPayMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(umPayMsg));
        } else if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayMessage unionPayMsg = (UnionPayMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(unionPayMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2cMessage cebMessage = (CebB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2cMessage psbcMessage = (PsbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabOrderMessageRes pabMessage = (PabOrderMessageRes) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_BOBJ.equals(bank)) {
            BobjB2cMessage bobjMessage = (BobjB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(bobjMessage));
        } else if (BankConstants.BANK_LOGO_NBCB.equals(bank)) {
            NbcbB2cMessage nbcbMessage = (NbcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(nbcbMessage));
        } else if (BankConstants.BANK_LOGO_BOS.equals(bank)) {
            BosB2cMessage bosMessage = (BosB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(bosMessage));
        } else if (BankConstants.BANK_LOGO_HXBC.equals(bank)) {
            HXEB2CReqPay hxbcMessage = (HXEB2CReqPay) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(hxbcMessage));
        } else if (BankConstants.BANK_LOGO_NJCB.equals(bank)) {
            NjcbB2cMessage njcbMessage = (NjcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(njcbMessage));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2cMessage tccbMessage = (TccbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(tccbMessage));
        } else if (BankConstants.BANK_LOGO_HNAPAY.equals(bank)) {
            HnaPayMessage hnapayMessage = (HnaPayMessage) baseMessage;
            logger.info(
                    bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(hnapayMessage));
        } else if (BankConstants.BANK_LOGO_KUAIQIAN.equals(bank)) {
            KuaiQianResultMessage kuaiqianMessage = (KuaiQianResultMessage) baseMessage;
            logger.info(
                    bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(kuaiqianMessage));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            CmbB2cMessage cmbMessage = (CmbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(cmbMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_PAYEASE.equals(bank)) {
            PayEaseMessage easeMessage = (PayEaseMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(easeMessage));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            YspayMessage yspayMessage = (YspayMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(yspayMessage));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            IpayMessage ipayMessage = (IpayMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(ipayMessage));
        } else if (BankConstants.BANK_LOGO_KHPAY.equals(bank)) {
            KhPayMessage khPayMessage = (KhPayMessage) baseMessage;
            logger.info(bank + " b2c manager verify send message: " + ToStringBuilder.reflectionToString(khPayMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2CManagerVerifySendLog日志输出！！！");
        }
    }

    /**
     * 输出B2C manager验签后返回信息
     * 
     * @param baseMessage
     * @param resFlag
     */
    public static void printB2CManagerVerifyReturnLog(BaseMessage baseMessage, Object resMsg) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c manager verfiy return message: " + resMsg);
    }

    public static void printB2CManagerDayendReqLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付
            IpayMessage iMessage = (IpayMessage) baseMessage;
            logger.info(bank + " b2c manager dayend req message: " + ToStringBuilder.reflectionToString(iMessage));
        } else {
            logger.info(bank + " b2c manager dayend req message: " + ToStringBuilder.reflectionToString(baseMessage));
        }
    }

    public static void printB2CManagerDayendReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            // 民生i支付
            IpayMessage iMessage = (IpayMessage) baseMessage;
            logger.info(bank + " b2c manager dayend return message: " + ToStringBuilder.reflectionToString(iMessage));
        } else {
            logger.info(
                    bank + " b2c manager dayend return message: " + ToStringBuilder.reflectionToString(baseMessage));
        }
    }

    /**
     * 输出无卡返回信息
     * 
     * @param baseMessage
     * @param resFlag
     */
    public static void printMtPayManagerVerifyReturnLog(BaseMessage baseMessage, Object resMsg) {
        if (BankConstants.BANK_LOGO_UMPAY.equals(baseMessage.getBank())) {
            UmPayMtPayMessage message = (UmPayMtPayMessage) baseMessage;
            logger.info(baseMessage.getBank() + " mtPay  pay return: " + ToStringBuilder.reflectionToString(message));
        } else {
            logger.info("清算机构代码：" + baseMessage.getBank() + ",不支持printMtPayManagerVerifyReturnLog日志输出！！！");
        }
    }

    /**
     * @Description: 输出威富通扫码支付订单查询请求信息
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printWetChatManagerQuerySendLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        String bisBankBusinessProd = baseMessage.getBankBusProd().value;
        if (BisBankBusinessProd._16.value.equals(bisBankBusinessProd)) {
            ScanOrderQueryReqMsg base = (ScanOrderQueryReqMsg) baseMessage;
            logger.info(bank + " scan manage query send message: " + ToStringBuilder.reflectionToString(base));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printWetChatManagerQuerySendLog日志输出！！！");
        }

    }

    /**
     * 小额免密支付manager-冲正 请求日志
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerReverseSendLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        MicroReverseReqMsg message = (MicroReverseReqMsg) baseMessage;
        logger.info(bank + " micro manage reverse send message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 小额免密支付manager-冲正 请求日志
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerReverseReturnLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        MicroReverseResMsg message = (MicroReverseResMsg) baseMessage;
        logger.info(bank + " micro manage reverse return message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 小额免密支付manager-订单查询 请求日志
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerQuerySendLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        MicroQueryReqMsg message = (MicroQueryReqMsg) baseMessage;
        logger.info(bank + " micro manage query send message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 小额免密支付manager-订单查询 响应日志
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerQueryReturnLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        MicroQueryResMsg message = (MicroQueryResMsg) baseMessage;
        logger.info(bank + " micro manage query return message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 小额免密支付manager-退款 请求日志
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerRefundSendLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        MicroRefundReqMsg message = (MicroRefundReqMsg) baseMessage;
        logger.info(bank + " micro manage refund send message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 小额免密支付manager-退款 响应日志
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerRefundReturnLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        MicroRefundResMsg message = (MicroRefundResMsg) baseMessage;
        logger.info(bank + "micro manage refund return message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 小额免密支付manager-退款查询 请求日志
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerRefundQuerySendLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        MicroRefundQueryReqMsg message = (MicroRefundQueryReqMsg) baseMessage;
        logger.info(bank + "micro manage refundQuery send message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 小额免密支付manager-退款查询 响应日志
     * 
     * @param baseMessage
     * @author w_jiqing
     */
    public static void printMicroPayManagerRefundQueryReturnLog(BaseMessage baseMessage) {
        String bank = baseMessage.getBank();
        MicroRefundQueryResMsg message = (MicroRefundQueryResMsg) baseMessage;
        logger.info(bank + " micro manage refundQuery return message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 输出B2C manager查询前请求信息
     * 
     * @param baseMessage
     * @param reqData
     */
    public static void printB2CManagerQuerySendLog(BaseMessage baseMessage, Object reqData) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            logger.info(bank + " b2c manager query send message: " + reqData);
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2cMessage ccbMsg = (CcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(ccbMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            // 农行
            AbcB2cMessage abcMsg = (AbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_CUCCPAY.equals(bank)) {
            // 联通沃支付
            CuccPayMessage cuccpayMsg = (CuccPayMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(cuccpayMsg));
        } else if (BankConstants.BANK_LOGO_TBANK.equals(bank)) {
            // 测试银行
            TBankOrderReq tbankMsg = (TBankOrderReq) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(tbankMsg));
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2cMessage bocMsg = (BocB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            CmbB2cMessage cmbMsg = (CmbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(cmbMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2cMessage citicMsg = (CiticB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(citicMsg));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            BocomB2cMessage bocmMsg = (BocomB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(bocmMsg));
        } else if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            UmPayMessage umPayMsg = (UmPayMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(umPayMsg));
        } else if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayMessage unionPayMsg = (UnionPayMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(unionPayMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2cMessage cebMessage = (CebB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2cMessage psbcMessage = (PsbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabB2cMessage pabMessage = (PabB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_BOBJ.equals(bank)) {
            BobjB2cMessage bobjMessage = (BobjB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(bobjMessage));
        } else if (BankConstants.BANK_LOGO_NBCB.equals(bank)) {
            NbcbB2cReqNetPay nbcbMessage = (NbcbB2cReqNetPay) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(nbcbMessage));
        } else if (BankConstants.BANK_LOGO_BOS.equals(bank)) {
            BosB2cMessage bosMessage = (BosB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(bosMessage));
        } else if (BankConstants.BANK_LOGO_HXBC.equals(bank)) {
            HXEB2CReqQuery hxbcMessage = (HXEB2CReqQuery) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(hxbcMessage));
        } else if (BankConstants.BANK_LOGO_NJCB.equals(bank)) {
            NjcbeBankDataReq njcbMessage = (NjcbeBankDataReq) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(njcbMessage));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2cMessage tccbMessage = (TccbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(tccbMessage));
        } else if (BankConstants.BANK_LOGO_HNAPAY.equals(bank)) {
            HnaPayMessageQuery hnapayMessage = (HnaPayMessageQuery) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(hnapayMessage));
        } else if (BankConstants.BANK_LOGO_KUAIQIAN.equals(bank)) {
            KuaiQianQueryMessage kuaiqianMessage = (KuaiQianQueryMessage) baseMessage;
            logger.info(
                    bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(kuaiqianMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_GDB.equals(bank)) {
            GdbB2cMessage gdbMessage = (GdbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(gdbMessage));
        } else if (BankConstants.BANK_LOGO_PAYEASE.equals(bank)) {
            PayEaseMessage payeaseMessage = (PayEaseMessage) baseMessage;
            logger.info(
                    bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(payeaseMessage));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            YspayMessage yspayMessage = (YspayMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(yspayMessage));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            IpayMessage ipayMessage = (IpayMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(ipayMessage));
        } else if (BankConstants.BANK_LOGO_KHPAY.equals(bank)) {
            KhPayMessage khPayMessage = (KhPayMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(khPayMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2CManagerQuerySendLog日志输出！！！");
        }
    }

    /**
     * 输出B2C manager查询后返回信息
     * 
     * @param baseMessage
     */
    public static void printB2CManagerQueryReturnLog(BaseMessage baseMessage) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            CmsQueryB2CRes icbcMsg = (CmsQueryB2CRes) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else if (BankConstants.BANK_LOGO_CCB.equals(bank)) {
            // 建行
            CcbB2cMessage ccbMsg = (CcbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(ccbMsg));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank)) {
            // 农行
            AbcB2cMessage abcMsg = (AbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(abcMsg));
        } else if (BankConstants.BANK_LOGO_BOCOM.equals(bank)) {
            // 交行
            BocomB2cMessage bocomMsg = (BocomB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(bocomMsg));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            // 招行
            CmbB2cResMessage cmbMsg = (CmbB2cResMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(cmbMsg));
        } else if (BankConstants.BANK_LOGO_CUCCPAY.equals(bank)) {
            // 联通沃支付
            CuccPayMessage cuccpayMsg = (CuccPayMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(cuccpayMsg));
        } else if (BankConstants.BANK_LOGO_TBANK.equals(bank)) {
            // 测试银行
            TBankOrderRes tbankMsg = (TBankOrderRes) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(tbankMsg));
        } else if (BankConstants.BANK_LOGO_BOC.equals(bank)) {
            BocB2cMessage bocMsg = (BocB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(bocMsg));
            // 中信
        } else if (BankConstants.BANK_LOGO_CITIC.equals(bank)) {
            CiticB2cStreamDataRes citicMsg = (CiticB2cStreamDataRes) baseMessage;
            logger.info(bank + " b2c manager query return message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(citicMsg)));
            // 民生
        } else if (BankConstants.BANK_LOGO_CMBC.equals(bank)) {
            CmbcMessage cmbcMsg = (CmbcMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(cmbcMsg));
            // 浦发
        } else if (BankConstants.BANK_LOGO_SPDB.equals(bank)) {
            SpdbMessage spdbMsg = (SpdbMessage) baseMessage;
            logger.info(bank + " b2c manager query send message: " + ToStringBuilder.reflectionToString(spdbMsg));
        } else if (BankConstants.BANK_LOGO_UMPAY.equals(bank)) {
            // 联动优势
            UmPayMessage umPayMsg = (UmPayMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(umPayMsg));
        } else if (BankConstants.BANK_LOGO_UNIONPAY.equals(bank)) {
            UnionPayMessage unionPayMsg = (UnionPayMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(unionPayMsg));
        } else if (BankConstants.BANK_LOGO_CEB.equals(bank)) {
            CebB2cMessage cebMessage = (CebB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(cebMessage));
        } else if (BankConstants.BANK_LOGO_PSBC.equals(bank)) {
            PsbcB2cMessage psbcMessage = (PsbcB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(psbcMessage));
        } else if (BankConstants.BANK_LOGO_PAB.equals(bank)) {
            PabQueryOrdersMessageRes pabMessage = (PabQueryOrdersMessageRes) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(pabMessage));
        } else if (BankConstants.BANK_LOGO_BOBJ.equals(bank)) {
            BobjB2cMessage bobjMessage = (BobjB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(bobjMessage));
        } else if (BankConstants.BANK_LOGO_NBCB.equals(bank)) {
            NbcbB2cResNetPay nbcbMessage = (NbcbB2cResNetPay) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(nbcbMessage));
        } else if (BankConstants.BANK_LOGO_BOS.equals(bank)) {
            BosB2cMessage bosMessage = (BosB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(bosMessage));
        } else if (BankConstants.BANK_LOGO_HXBC.equals(bank)) {
            HXEB2CResQuery hxbcMessage = (HXEB2CResQuery) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(hxbcMessage));
        } else if (BankConstants.BANK_LOGO_NJCB.equals(bank)) {
            NjcbeBankDataRep njcbMessage = (NjcbeBankDataRep) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(njcbMessage));
        } else if (BankConstants.BANK_LOGO_TCCB.equals(bank)) {
            TccbB2cMessage tccbMessage = (TccbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(tccbMessage));
        } else if (BankConstants.BANK_LOGO_HNAPAY.equals(bank)) {
            HnaPayMessageQuery hnapayMessage = (HnaPayMessageQuery) baseMessage;
            logger.info(
                    bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(hnapayMessage));
        } else if (BankConstants.BANK_LOGO_KUAIQIAN.equals(bank)) {
            KuaiQianQueryResultMessage kuaiqianMessage = (KuaiQianQueryResultMessage) baseMessage;
            logger.info(
                    bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(kuaiqianMessage));
        } else if (BankConstants.BANK_LOGO_CIB.equals(bank)) {
            CibMessage cibMessage = (CibMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(cibMessage));
        } else if (BankConstants.BANK_LOGO_GDB.equals(bank)) {
            GdbB2cMessage gdbMessage = (GdbB2cMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(gdbMessage));
        } else if (BankConstants.BANK_LOGO_YSPAY.equals(bank)) {
            YspayMessage yspayMessage = (YspayMessage) baseMessage;
            logger.info(
                    bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(yspayMessage));
        } else if (BankConstants.BANK_LOGO_IPAY.equals(bank)) {
            IpayMessage ipayMessage = (IpayMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(ipayMessage));
        } else if (BankConstants.BANK_LOGO_KHPAY.equals(bank)) {
            KhPayMessage khPayMessage = (KhPayMessage) baseMessage;
            logger.info(bank + " b2c manager query return message: " + ToStringBuilder.reflectionToString(khPayMessage));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printB2CManagerQueryReturnLog日志输出！！！");
        }
    }

    /**
     * 输出BankServiceImpl异常信息
     * 
     * @param e
     */
    public static void printServiceImplExceptionLog(Exception e) {
        logger.error("BankServiceImpl Exception：", e);
    }

    /**
     * 输出BankManager异常信息
     * 
     * @param e
     */
    public static void printManagerExceptionLog(Exception e) {
        logger.error("BankManager Exception：", e);
    }

    /**
     * 输出错误信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printB2cQueryErrorLog(BaseMessage baseMessage, Object obj) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c query error: " + obj);
    }

    /**
     * 输出bcdl manager查询信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlManagerQuerySendLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = message.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl manager query send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlManagerQuerySendLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl packet manager查询信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlManagerQuerySendLog(BcdlPacket bcdlPacket) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = bcdlPacket.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcPacketMessage icbcMsg = (IcbcPacketMessage) bcdlPacket;
            logger.info(
                    bank + " bcdl packet manager query send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlManagerQuerySendLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl manager查询余额信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlManagerQueryBalanceSendLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = message.getOutStlmCd(); // 银行简称
        logger.info(bank + " bcdl manager query balance send message: " + ToStringBuilder.reflectionToString(message));
    }
    
    /**
     * 输出bcdl manager查询账户明细信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlManagerQueryAcctDetailSendLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = message.getBank(); // 银行简称
        logger.info(bank + " bcdl manager query acct detail send message: " + ToStringBuilder.reflectionToString(message));
    }

    /**
     * 输出bcdl manager查询返回信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlManagerQueryReturnLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = message.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl manager query return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlManagerQueryReturnLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl packet manager查询返回信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlManagerQueryReturnLog(BcdlPacket bcdlPacket) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = bcdlPacket.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcPacketMessage icbcMsg = (IcbcPacketMessage) bcdlPacket;
            logger.info(
                    bank + " bcdl packet manager query return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlManagerQueryReturnLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl manager查询余额返回信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlManagerQueryBalanceReturnLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = message.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl manager query balance return message: "
                    + ToStringBuilder.reflectionToString(icbcMsg));
        } else if (BankConstants.BANK_LOGO_CMB.equals(bank)) {
            // 招行
            CmbBcdlMessage cmbMsg = (CmbBcdlMessage) message;
            logger.info(
                    bank + " bcdl manager query balance return message: " + ToStringBuilder.reflectionToString(cmbMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlManagerQueryBalanceReturnLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl manager转账信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlEftManagerSendLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = message.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl manager eft send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(icbcMsg)));
        } else if (BankConstants.BANK_LOGO_ABC.equals(bank) || BankConstants.BANK_LOGO_BOC.equals(bank)) {
            logger.info(bank + " bcdl manager eft send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlEftManagerSendLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl manager批量转账信息
     * 
     * @param bcdlPacket
     * @param obj
     */
    public static void printBcdlEftManagerSendLog(BcdlPacket bcdlPacket) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = bcdlPacket.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcPacketMessage icbcPacketMsg = (IcbcPacketMessage) bcdlPacket;
            logger.info(bank + " bcdl manager packet eft send message: "
                    + ToStringBuilder.reflectionToString(icbcPacketMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlEftManagerSendLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl manager转账返回信息
     * 
     * @param baseMessage
     * @param obj
     */
    public static void printBcdlEftManagerReturnLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = message.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl manager eft return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlEftManagerReturnLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl manager批量转账返回信息
     * 
     * @param bcdlPacket
     * @param obj
     */
    public static void printBcdlEftManagerReturnLog(BcdlPacket bcdlPacket) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = bcdlPacket.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcPacketMessage icbcPacketMsg = (IcbcPacketMessage) bcdlPacket;
            logger.info(bank + " bcdl manager packet eft return message: "
                    + ToStringBuilder.reflectionToString(icbcPacketMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlEftManagerReturnLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl转账签名前请求信息
     * 
     * @param baseMessage
     */
    public static void printBcdlEftSignSendLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = message.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl  sign send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlEftSignSendLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl批量转账签名前请求信息
     * 
     * @param baseMessage
     */
    public static void printBcdlEftSignSendLog(BcdlPacket bcdlPacket) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = bcdlPacket.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcPacketMessage icbcMsg = (IcbcPacketMessage) bcdlPacket;
            logger.info(bank + " bcdl packet sign send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlEftSignSendLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl转账返回信息
     * 
     * @param baseMessage
     */
    public static void printBcdlEftReturnLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = message.getOutStlmCd(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl  return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlEftReturnLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl查询前请求信息
     * 
     * @param baseMessage
     */
    public static void printBcdlQuerySendLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = message.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl  query send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlQuerySendLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl批量查询前请求信息
     * 
     * @param bcdlPacket
     */
    public static void printBcdlQuerySendLog(BcdlPacket bcdlPacket) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = bcdlPacket.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcPacketMessage icbcMsg = (IcbcPacketMessage) bcdlPacket;
            logger.info(bank + " bcdl packet query send message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlQuerySendLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl查询返回信息
     * 
     * @param baseMessage
     */
    public static void printBcdlQueryReturnLog(BcdlMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = message.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcMessageData icbcMsg = (IcbcMessageData) message;
            logger.info(bank + " bcdl  query return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlQueryReturnLog日志输出！！！");
        }
    }

    /**
     * 输出bcdl批量查询返回信息
     * 
     * @param baseMessage
     */
    public static void printBcdlQueryReturnLog(BcdlPacket bcdlPacket) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = bcdlPacket.getBank(); // 银行简称
        if (BankConstants.BANK_LOGO_ICBC.equals(bank)) {
            // 工行
            IcbcPacketMessage icbcMsg = (IcbcPacketMessage) bcdlPacket;
            logger.info(bank + " bcdl packet query return message: " + ToStringBuilder.reflectionToString(icbcMsg));
        } else {
            logger.info("清算机构代码：" + bank + ",不支持printBcdlQueryReturnLog日志输出！！！");
        }
    }

    /**
     * 输出EXPAY交易查询请求信息
     * 
     * @param baseMessage
     * @param reqData
     */
    public static void printExPayQuerySendLog(BaseMessage baseMessage, Object reqData) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " ExPay query reqData：" + reqData);
    }

    /**
     * 支付返回的body
     * 
     * @param baseMessage
     * @param reqData
     */
    public static void printExPayResBody(BaseMessage baseMessage, String resData) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " ExPay resData：" + resData);
    }

    public static void printExPaySignResBody(BaseMessage baseMessage, String resData) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " ExPay签名 resData：" + resData);
    }

    public static void printExPayVerifyResBody(BaseMessage baseMessage, String resData) {
        // 输出格式为：银行名称+交易类型+业务类型+请求信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " ExPay签名 resData：" + resData);
    }

    /**
     * 支付/支付申请查询返回
     * 
     * @param baseMessage
     * @param resData
     */
    public static void printExPayQueryResBody(BaseMessage baseMessage, String resData) {
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " ExPayApp resData：" + resData);

    }

    /**
     * 支付签约返回body
     * 
     * @param baseMessage
     * @param string
     */
    public static void printExPayAppResBody(BaseMessage baseMessage, String resData) {
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " ExPayApp resData：" + resData);

    }

    /**
     * 输出EXPAY交易查询返回信息
     * 
     * @param baseMessage
     * @param resData
     */
    public static void printExPayQueryBlackLog(BaseMessage baseMessage, Object resData) {
        // 输出格式为：银行名称+交易类型+业务类型+返回信息
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " ExPay query resData：" + resData);

    }

    /**
     * 输出银行B2C取票处理不成功状态(除A以外)
     * 
     * @param baseMessage
     * @param sCode
     */
    public static void printB2CHdlSts(BaseMessage baseMessage, String hdlSts) {
        // 输出格式为：银行名称+交易类型+业务类型+Http返回状态码
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c getTicket fail hdlSts: ：" + hdlSts);
    }

    /**
     * 控制台打印出取票成功后返回的XML数据
     * 
     * @param baseMessage
     * @param hdlSts
     */
    public static void printB2CTicketBody(BaseMessage baseMessage, String body) {
        // 输出格式为：银行名称+取票成功的XML
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.info(bank + " b2c getTicket success: ：" + body);
    }

    /**
     * 记录日终出现的异常
     * 
     * @param baseMessage
     * @param e
     */
    public static void printB2CDayendExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+异常代码
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " b2c dayend error: ：" + e);
    }

    /**
     * 取票异常记录
     * 
     * @param baseMessage
     * @param e
     */
    public static void printB2CTicketExceptionLog(BaseMessage baseMessage, Exception e) {
        // 输出格式为：银行名称+异常代码
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " b2c dayend error: ：" + e);
    }

    public static void printB2CdayendFileException(BaseMessage baseMessage, String msg) {
        // 输出格式为：银行名称+异常代码
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " b2c dayendFile of zip  error: ：" + msg);
    }

    public static void printB2Cdayend(BaseMessage baseMessage, String msg) {
        String bank = baseMessage.getOutStlmCd(); // 银行简称
        logger.error(bank + " B2Cdayend ::" + msg);
    }

    /**
     * 易宝快捷日志输出隐藏信用卡cvv2
     * 
     * @param baseMsg
     * @return
     */
    public static YeePayExPayMessage getYeePayLogDataMsg(BaseMessage baseMsg) {
        YeePayExPayMessage logData = new YeePayExPayMessage();
        BeanUtils.copyProperties(baseMsg, logData);
        if (logData.getCvv2() == null || "".equals(logData.getCvv2())) {
            //
        } else {
            logData.setCvv2("***");
        }
        return logData;
    }

    /**
     * 联动优势快捷日志输出隐藏信用卡cvv2
     * 
     * @param baseMsg
     * @return
     */
    public static UmPayMtPayMessage getUmPayLogDataMsg(BaseMessage baseMsg) {
        UmPayMtPayMessage logData = new UmPayMtPayMessage();
        BeanUtils.copyProperties(baseMsg, logData);
        if (logData.getCvv2() == null || "".equals(logData.getCvv2())) {
            //
        } else {
            logData.setCvv2("***");
        }
        return logData;
    }
    
    /**
     * 输出nuccpay manager请求信息
     * 
     * @param NuccBaseMessage
     * @param obj
     */
    public static void printNuccPayManagerSendLog(NuccBaseMessage message) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = "nuccpay"; // 银行简称
        logger.info(bank + " manager eft send message: " + LoggerMaskUtils.maskString(ToStringBuilder.reflectionToString(message)));
    }
    
    /**
     * 输出nuccpay manager返回信息
     * 
     * @param NuccBaseMessage
     * @param obj
     */
    public static void printNuccPayManagerReturnLog(Object object) {
        // 输出格式为：银行名称+交易类型+业务类型+错误信息
        String bank = "nuccpay"; // 银行简称
        logger.info(bank + " manager eft return message: " + ToStringBuilder.reflectionToString(object));
    }

}
